Nonvolatile memory, such as FLASH memory and EEPROM, has gained notoriety in the recent decade, namely due to its fast write time characteristics and ability to maintain storage of information even when no power is connected thereto. Nonvolatile memory is now employed in a wide number of applications, such as digital film for digital cameras, as a drive (or mass storage) in personal computers (PCs) or other hosts, hand-held electronic devices such as personal data access (PDAs) and the like.
During manufacturing of nonvolatile memory devices, certain defects within the memory are detected and marked accordingly. Manufacturing defects are inherent in nonvolatile memory devices and other types of defects arise during use of the devices. Other types of defects can and generally result from repeated usage of the device. For example, a nonvolatile memory device is now generally expected to be used or re-written thereto anywhere from thousands to tens of thousands to hundreds of thousands to one million times and thereafter, the device typically becomes unusable due to the number of defective memory locations therein. As nonvolatile memory is utilized, it is written thereto for use in storing information and then it is erased prior to use of the same locations, i.e. re-written. In most applications, nonvolatile memory is organized into blocks and when a write is initiated by a host that is coupled to the memory, generally through a controller device, one or more blocks are written thereto. Prior to re-writing the one or more blocks, the latter need be erased and when a block undergoes anywhere from thousands to tens of thousands to hundreds of thousands to one million or so write and erase operations, it will generally become defective or its ability to store information reliably deteriorates. Thus, the more nonvolatile or flash memory is utilized, the more defects grow.
Through the use of the controller device coupling nonvolatile memory devices to a host, the defects within the devices are managed by replacing use of the detected defective blocks with blocks from a list of spare blocks. That is, firmware or software code being executed by the controller device causes such a replacement so that when a block, noted to be defective is in some manner, is accessed by a host, such access occurs of a replacement or spare block with the host generally remaining oblivious thereto. Thus, the controller device must maintain a list of spare blocks and a mapping of the defective blocks, if any, to spare blocks in replacement thereof.
However, currently, while the controller device is aware of the number of defective blocks and the number of spare blocks and the number of blocks being employed for storage, or in essence, status of the health of a nonvolatile memory device, the user of the latter and the host remain ignorant of such information. Additionally, the health status of nonvolatile memory devices is not readily shown or displayed to a host or user thereof.
Therefore, the need arises for a method and apparatus to measure and display the health status of nonvolatile or flash memory.